home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Interactive Reference Guide / C-C++ Interactive Reference Guide.iso / c_ref / csource4 / 221_01 / printf.asm < prev    next >
Assembly Source File  |  1979-12-31  |  6KB  |  572 lines

  1. ;small-c V2.3
  2.  EXT exit
  3.  EXT ccmult
  4.  EXT ccdiv
  5.  EXT putc
  6.  EXT fputs
  7.  NAME printf
  8.  GLOBAL printf
  9. printf
  10.  LEAS -28,S
  11.  STD ,S
  12.  LEAY 18,S
  13.  TFR  Y,D
  14.  PSHS D
  15.  LEAY 32,S
  16.  TFR  Y,D
  17.  PSHS D
  18.  LDD  4,S
  19.  PSHS D
  20.  LDD  #1
  21.  PULS X
  22.  PSHS D
  23.  TFR  X,D
  24.  SUBD ,S++
  25.  PSHS D
  26.  LDD  #1
  27.  DECB
  28.  BLT  *+8
  29.  ASL  1,S
  30.  ROL  ,S
  31.  BRA  *-7
  32.  PULS D
  33.  ADDD ,S++
  34.  STD  [,S++]
  35.  LEAY 16,S
  36.  TFR  Y,D
  37.  PSHS D
  38.  LDD  20,S
  39.  PSHS D
  40.  LDD  [,S++]
  41.  STD  [,S++]
  42. cc2
  43.  LEAY 13,S
  44.  TFR  Y,D
  45.  PSHS D
  46.  LDD  18,S
  47.  ADDD #1
  48.  STD  18,S
  49.  SUBD #1
  50.  PSHS D
  51.  LDB  [,S++]
  52.  SEX
  53.  STB  [,S++]
  54.  CMPD #0
  55.  LBEQ cc3
  56.  LDB  13,S
  57.  SEX
  58.  PSHS D
  59.  LDD  #37
  60.  CMPD ,S++
  61.  LBEQ cc4
  62.  LDB  13,S
  63.  SEX
  64.  PSHS D
  65.  LDD  #1
  66.  PSHS D
  67.  JSR cout
  68.  LEAS 4,S
  69.  JMP cc2
  70. cc4
  71.  LDD  16,S
  72.  PSHS D
  73.  LDB  [,S++]
  74.  SEX
  75.  PSHS D
  76.  LDD  #37
  77.  CMPD ,S++
  78.  LBNE cc5
  79.  LDD  16,S
  80.  ADDD #1
  81.  STD  16,S
  82.  SUBD #1
  83.  PSHS D
  84.  LDB  [,S++]
  85.  SEX
  86.  PSHS D
  87.  LDD  #1
  88.  PSHS D
  89.  JSR cout
  90.  LEAS 4,S
  91.  JMP cc2
  92. cc5
  93.  LEAY 14,S
  94.  TFR  Y,D
  95.  PSHS D
  96.  LDD  18,S
  97.  STD  [,S++]
  98.  LDD  14,S
  99.  PSHS D
  100.  LDB  [,S++]
  101.  SEX
  102.  PSHS D
  103.  LDD  #45
  104.  CMPD ,S++
  105.  LBNE cc6
  106.  LEAY 12,S
  107.  TFR  Y,D
  108.  PSHS D
  109.  LDD  #0
  110.  STB  [,S++]
  111.  LDD  14,S
  112.  ADDD #1
  113.  STD  14,S
  114.  JMP cc7
  115. cc6
  116.  LEAY 12,S
  117.  TFR  Y,D
  118.  PSHS D
  119.  LDD  #1
  120.  STB  [,S++]
  121. cc7
  122.  LDD  14,S
  123.  PSHS D
  124.  LDB  [,S++]
  125.  SEX
  126.  PSHS D
  127.  LDD  #48
  128.  CMPD ,S++
  129.  LBNE cc8
  130.  LEAY 2,S
  131.  TFR  Y,D
  132.  PSHS D
  133.  LDD  #48
  134.  STB  [,S++]
  135.  LDD  14,S
  136.  ADDD #1
  137.  STD  14,S
  138.  JMP cc9
  139. cc8
  140.  LEAY 2,S
  141.  TFR  Y,D
  142.  PSHS D
  143.  LDD  #32
  144.  STB  [,S++]
  145. cc9
  146.  LEAY 0,S
  147.  TFR  Y,D
  148.  PSHS D
  149.  LDD  16,S
  150.  PSHS D
  151.  LEAY 30,S
  152.  TFR  Y,D
  153.  PSHS D
  154.  JSR utoi
  155.  LEAS 4,S
  156.  STD  [,S++]
  157.  PSHS D
  158.  LDD  #0
  159.  CMPD ,S++
  160.  LBGT cc10
  161.  LEAY 14,S
  162.  TFR  Y,D
  163.  PSHS D
  164.  LDD  16,S
  165.  PSHS D
  166.  LDD  4,S
  167.  ADDD ,S++
  168.  STD  [,S++]
  169.  JMP cc11
  170. cc10
  171.  JMP cc2
  172. cc11
  173.  LDD  14,S
  174.  PSHS D
  175.  LDB  [,S++]
  176.  SEX
  177.  PSHS D
  178.  LDD  #46
  179.  CMPD ,S++
  180.  LBNE cc12
  181.  LEAY 22,S
  182.  TFR  Y,D
  183.  PSHS D
  184.  LDD  16,S
  185.  ADDD #1
  186.  STD  16,S
  187.  PSHS D
  188.  LEAY 28,S
  189.  TFR  Y,D
  190.  PSHS D
  191.  JSR utoi
  192.  LEAS 4,S
  193.  STD  [,S++]
  194.  PSHS D
  195.  LDD  #0
  196.  CMPD ,S++
  197.  LBGT cc13
  198.  LEAY 14,S
  199.  TFR  Y,D
  200.  PSHS D
  201.  LDD  16,S
  202.  PSHS D
  203.  LDD  26,S
  204.  ADDD ,S++
  205.  STD  [,S++]
  206.  JMP cc14
  207. cc13
  208.  JMP cc2
  209. cc14
  210.  JMP cc15
  211. cc12
  212.  LDD  #0
  213.  STD  22,S
  214. cc15
  215.  LEAY 3,S
  216.  TFR  Y,D
  217.  PSHS D
  218.  LEAY 7,S
  219.  TFR  Y,D
  220.  STD  [,S++]
  221.  LEAY 13,S
  222.  TFR  Y,D
  223.  PSHS D
  224.  LDD  16,S
  225.  ADDD #1
  226.  STD  16,S
  227.  SUBD #1
  228.  PSHS D
  229.  LDB  [,S++]
  230.  SEX
  231.  STB  [,S++]
  232.  LEAY 0,S
  233.  TFR  Y,D
  234.  PSHS D
  235.  LEAY 20,S
  236.  TFR  Y,D
  237.  PSHS D
  238.  PSHS D
  239.  LDD  [,S++]
  240.  SUBD #1
  241.  SUBD #1
  242.  STD  [,S++]
  243.  PSHS D
  244.  LDD  [,S++]
  245.  STD  [,S++]
  246.  LDB  13,S
  247.  SEX
  248.  PSHS D
  249.  LDD  #100
  250.  CMPD ,S++
  251.  LBNE cc16
  252.  LDD  0,S
  253.  PSHS D
  254.  LEAY 7,S
  255.  TFR  Y,D
  256.  PSHS D
  257.  LDD  #7
  258.  PSHS D
  259.  JSR itod
  260.  LEAS 6,S
  261.  JMP cc17
  262. cc16
  263.  LDB  13,S
  264.  SEX
  265.  PSHS D
  266.  LDD  #120
  267.  CMPD ,S++
  268.  LBNE cc18
  269.  LDD  0,S
  270.  PSHS D
  271.  LEAY 7,S
  272.  TFR  Y,D
  273.  PSHS D
  274.  LDD  #7
  275.  PSHS D
  276.  JSR itox
  277.  LEAS 6,S
  278.  JMP cc19
  279. cc18
  280.  LDB  13,S
  281.  SEX
  282.  PSHS D
  283.  LDD  #99
  284.  CMPD ,S++
  285.  LBNE cc20
  286.  LEAY 5,S
  287.  TFR  Y,D
  288.  ADDD #0
  289.  PSHS D
  290.  LDD  2,S
  291.  STB  [,S++]
  292.  LEAY 5,S
  293.  TFR  Y,D
  294.  ADDD #1
  295.  PSHS D
  296.  LDD  #0
  297.  STB  [,S++]
  298.  JMP cc21
  299. cc20
  300.  LDB  13,S
  301.  SEX
  302.  PSHS D
  303.  LDD  #115
  304.  CMPD ,S++
  305.  LBNE cc22
  306.  LEAY 3,S
  307.  TFR  Y,D
  308.  PSHS D
  309.  LDD  2,S
  310.  STD  [,S++]
  311.  JMP cc23
  312. cc22
  313.  LDB  13,S
  314.  SEX
  315.  PSHS D
  316.  LDD  #117
  317.  CMPD ,S++
  318.  LBNE cc24
  319.  LDD  0,S
  320.  PSHS D
  321.  LEAY 7,S
  322.  TFR  Y,D
  323.  PSHS D
  324.  LDD  #7
  325.  PSHS D
  326.  JSR itou
  327.  LEAS 6,S
  328.  JMP cc25
  329. cc24
  330.  JMP cc2
  331. cc25
  332. cc23
  333. cc21
  334. cc19
  335. cc17
  336.  LEAY 16,S
  337.  TFR  Y,D
  338.  PSHS D
  339.  LDD  16,S
  340.  STD  [,S++]
  341.  LDB  13,S
  342.  SEX
  343.  PSHS D
  344.  LDD  #115
  345.  CMPD ,S++
  346.  LBEQ cc26
  347. cc27
  348.  LDD  3,S
  349.  PSHS D
  350.  LDB  [,S++]
  351.  SEX
  352.  PSHS D
  353.  LDD  #32
  354.  CMPD ,S++
  355.  LBNE cc28
  356.  LDD  3,S
  357.  ADDD #1
  358.  STD  3,S
  359.  JMP cc27
  360. cc28
  361. cc26
  362.  LEAY 20,S
  363.  TFR  Y,D
  364.  PSHS D
  365.  LDD  #1
  366.  COMA
  367.  COMB
  368.  ADDD #1
  369.  STD  [,S++]
  370. cc29
  371.  LDD  3,S
  372.  PSHS D
  373.  LDD  22,S
  374.  ADDD #1
  375.  STD  22,S
  376.  ADDD ,S++
  377.  PSHS D
  378.  LDB  [,S++]
  379.  SEX
  380.  CMPD #0
  381.  LBEQ cc30
  382.  JMP cc29
  383. cc30
  384.  LDB  13,S
  385.  SEX
  386.  PSHS D
  387.  LDD  #115
  388.  CMPD ,S++
  389.  BEQ  *+8
  390.  LDD  #0
  391.  JMP cc32 _
  392.  LDD  #1
  393.  LDD  20,S
  394.  PSHS D
  395.  LDD  26,S
  396.  CMPD ,S++
  397.  BLT  *+8
  398.  LDD  #0
  399.  JMP cc32 _
  400.  LDD  #1
  401.  LDD  #1
  402. cc32
  403.  CMPD #0
  404.  LBEQ cc33 _
  405.  LDD  22,S
  406.  PSHS D
  407.  LDD  #0
  408.  CMPD ,S++
  409.  BLT  *+8
  410.  LDD  #0
  411.  JMP cc33 _
  412.  LDD  #1
  413.  LDD  #1
  414. cc33
  415.  CMPD #0
  416.  LBEQ cc31
  417.  LEAY 20,S
  418.  TFR  Y,D
  419.  PSHS D
  420.  LDD  26,S
  421.  STD  [,S++]
  422. cc31
  423.  LDB  12,S
  424.  SEX
  425.  CMPD #0
  426.  LBEQ cc34
  427. cc35
  428.  LDD  26,S
  429.  SUBD #1
  430.  STD  26,S
  431.  ADDD #1
  432.  PSHS D
  433.  LDD  22,S
  434.  PULS X
  435.  PSHS D
  436.  TFR  X,D
  437.  SUBD ,S++
  438.  PSHS D
  439.  LDD  #0
  440.  CMPD ,S++
  441.  LBGE cc36
  442.  LDB  2,S
  443.  SEX
  444.  PSHS D
  445.  LDD  #1
  446.  PSHS D
  447.  JSR cout
  448.  LEAS 4,S
  449.  JMP cc35
  450. cc36
  451. cc34
  452. cc37
  453.  LDD  20,S
  454.  CMPD #0
  455.  LBEQ cc38
  456.  LDD  3,S
  457.  ADDD #1
  458.  STD  3,S
  459.  SUBD #1
  460.  PSHS D
  461.  LDB  [,S++]
  462.  SEX
  463.  PSHS D
  464.  LDD  #1
  465.  PSHS D
  466.  JSR cout
  467.  LEAS 4,S
  468.  LDD  20,S
  469.  SUBD #1
  470.  STD  20,S
  471.  LDD  26,S
  472.  SUBD #1
  473.  STD  26,S
  474.  JMP cc37
  475. cc38
  476. cc39
  477.  LDD  26,S
  478.  SUBD #1
  479.  STD  26,S
  480.  ADDD #1
  481.  PSHS D
  482.  LDD  22,S
  483.  PULS X
  484.  PSHS D
  485.  TFR  X,D
  486.  SUBD ,S++
  487.  PSHS D
  488.  LDD  #0
  489.  CMPD ,S++
  490.  LBGE cc40
  491.  LDB  2,S
  492.  SEX
  493.  PSHS D
  494.  LDD  #1
  495.  PSHS D
  496.  JSR cout
  497.  LEAS 4,S
  498.  JMP cc39
  499. cc40
  500.  JMP cc2
  501. cc3
  502.  LEAS 28,S
  503.  RTS
  504.  GLOBAL cout
  505. cout
  506.  LDB  5,S
  507.  SEX
  508.  PSHS D
  509.  LDD  4,S
  510.  PSHS D
  511.  JSR putc
  512.  LEAS 4,S
  513.  PSHS D
  514.  LDD  #1
  515.  COMA
  516.  COMB
  517.  ADDD #1
  518.  CMPD ,S++
  519.  LBNE cc41
  520.  JSR xout
  521. cc41
  522.  RTS
  523.  GLOBAL sout
  524. sout
  525.  LDD  4,S
  526.  PSHS D
  527.  LDD  4,S
  528.  PSHS D
  529.  JSR fputs
  530.  LEAS 4,S
  531.  PSHS D
  532.  LDD  #1
  533.  COMA
  534.  COMB
  535.  ADDD #1
  536.  CMPD ,S++
  537.  LBNE cc42
  538.  JSR xout
  539. cc42
  540.  RTS
  541.  GLOBAL lout
  542. lout
  543.  LDD  4,S
  544.  PSHS D
  545.  LDD  4,S
  546.  PSHS D
  547.  JSR sout
  548.  LEAS 4,S
  549.  LDD  #13
  550.  PSHS D
  551.  LDD  4,S
  552.  PSHS D
  553.  JSR cout
  554.  LEAS 4,S
  555.  RTS
  556.  GLOBAL xout
  557. xout
  558.  LDD  #cc1+0
  559.  PSHS D
  560.  LDD  #2
  561.  PSHS D
  562.  JSR fputs
  563.  LEAS 4,S
  564.  LDD  #99
  565.  PSHS D
  566.  JSR exit
  567.  LEAS 2,S
  568.  RTS
  569. cc1 FCB 111,117,116,112,117,116,32,101,114,114
  570.  FCB 111,114,13,0
  571.  END
  572.